package com.todo.strategy.offline.application.service;


import com.todo.common.common.entity.response.page.PageResult;
import com.todo.common.common.enums.EnableTypeEnum;
import com.todo.strategy.offline.application.entity.bo.MemoTemplateBO;
import com.todo.strategy.offline.application.entity.condition.MemoTemplateConditionBO;

/**
 * @author azhebuxing
 * @date 2024/11/28 02:34
 * @description
 */
public interface MemoTemplateService {

    /**
     * 新增备忘录模板信息
     *
     * @param memoTemplateBO
     * @return
     */
    Boolean insertMemoTemplate(MemoTemplateBO memoTemplateBO);

    /**
     * 更新备忘录模板信息
     *
     * @param memoTemplateBO
     * @return
     */
    Boolean updateMemoTemplate(MemoTemplateBO memoTemplateBO);

    /**
     * 根据主键备忘录模板信息
     *
     * @param id
     * @return
     */
    Boolean removeMemoTemplateById(Long id);

    /**
     * 根据主键删除备忘录模板信息
     *
     * @param id
     * @return
     */
    MemoTemplateBO queryMemoTemplateById(Long id);

    /**
     * 根据主键更新备忘录状态
     *
     * @param id
     * @return
     */
    Boolean updateMemoStatusById(Long id, EnableTypeEnum oldStatus, EnableTypeEnum newStatus);

    /**
     * 分页查询备忘录模板信息
     *
     * @param memoTemplateConditionBO
     * @return
     */
    PageResult<MemoTemplateBO> queryMemoTemplateByPage(MemoTemplateConditionBO memoTemplateConditionBO);


}
